#ifndef SEMANTICNODEBLOCKGATHER_H_
#define SEMANTICNODEBLOCKGATHER_H_

#include "SemanticNode.h"
#include "LabeledNode.h"
#include <string>
#include <vector>

class SemanticNodeExpression;

class SemanticNodeBlockGather : public SemanticNode, public LabeledNode {
private:
	SemanticNodeExpression *myExpression;
	bool expression, destroy;

public:
	SemanticNodeBlockGather(const SyntaxTreeNode *gatherNodeParent, SemanticNode *parent);

	void setExpression(SemanticNodeExpression *expression);

	bool hasExpression();
	bool hasDestroy();

	virtual std::string toDebugString(int tab);
};

#endif /* SEMANTICNODEBLOCKGATHER_H_ */